package main.矩阵;

import java.util.HashSet;
import java.util.Set;

/**
 * @author tmh
 * @date 2024/7/19 16:24
 * @description
 */
public class T73矩阵置零 {
    public void setZeroes(int[][] matrix) {
        //定义两个set存放坐标i或者j
        Set<Integer> rowSet = new HashSet<>();
        Set<Integer> colSet = new HashSet<>();
        for (int i = 0; i < matrix.length; i++) {
            for (int j = 0; j < matrix[0].length; j++) {
                if(matrix[i][j]==0){
                    rowSet.add(i);
                    colSet.add(j);
                }
            }
        }
        //如果某个元素的坐标存在这两个set里面，那么就把这个元素的值赋值为0;
        for (int i = 0; i < matrix.length; i++) {
            for (int j = 0; j < matrix[0].length; j++) {
                if(rowSet.contains(i)||colSet.contains(j)){
                    matrix[i][j]=0;
                }
            }
        }
    }
}
